home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.misc
- Path: in1.uu.net!allegra!alice!kpv
- From: kpv@research.att.com (Phong Vo)
- Subject: Re: allocator studies (was Re: GC & traditional allocators & textbooks)
- Message-ID: <DMGoK9.M0u@research.att.com>
- Organization: AT&T Research, Murray Hill, NJ
- References: <823455623snz@wildcard.demon.co.uk> <4f59c3$7il@jive.cs.utexas.edu> <3117E708.41C67EA6@research.att.com>
- Date: Thu, 8 Feb 1996 14:36:08 GMT
-
- In article <3117E708.41C67EA6@research.att.com> Phong Vo <kpv@research.att.com> writes:
- >>
- >Just a quick note that I am now with the new AT&T Research.
- >The main topics of the paper that Paul mentioned are a new API for memory allocation
- >called Vmalloc and a performance study comparing it against a number of
- >well-known malloc implementations. The code is currently available for non-commercial
- >use for anyone interested at the below url:
- > http://www.research.att.com/orgs/ssr/reuse/
-
- A few people alerted me that the above address is wrong.
- The right one is:
- http://www.research.att.com/orgs/ssr/book/reuse/
-
- There were also questions about how Vmalloc is different from malloc.
- Briefly, it introduces the notion of allocating through "regions".
- Each region is parameterized by a "discipline" that defines how to obtain
- raw memory for the region and a "method" to define the allocation policy.
- In this way, by writing your own disciplines, you could allocate any type
- of memory (e.g., shared, mmap, stack) or just to reorganize memory in some
- region (e.g., making sure that all allocations for a complex structure
- are collected in a small number of pages from the heap). The package
- provides two standard disciplines, one for heap allocation (sbrk on Unix)
- and the other for allocating from the heap. The current set of methods
- including general purpose allocation via a modified best-fit method,
- allocation mostly without free, allocation of same-size objects,
- allocation with debugging and allocation with profiling.
-
- For backward compatibility, Vmalloc also provides a malloc interface.
- This interface lets you set allocation methods via environment variables
- at program start-up time. So your programs can run at normal speed in
- normal cases yet have the ability to do debugging or profiling when necessary.
- This means production code can still debug memory problems,
- a different approach from Purify or other debugging mallocs
- which are only useful in the development phase.
-
- Phong Vo, kpv@research.att.com
-